package com.asset.dispoal.file.replyDetail.domain.db.mapper;

import com.asset.dispoal.file.replyDetail.domain.dto.ReplyDetailExportTemplateId;
import com.asset.dispoal.file.replyDetail.domain.dto.ReplyMonthStatistics;
import com.asset.dispoal.file.replyDetail.dto.FileReplyExportRequest;
import com.asset.dispoal.file.replyDetail.dto.FileReplyQueryRequest;
import com.asset.dispoal.file.replyDetail.dto.FileReplyRequest;
import com.asset.dispoal.file.replyDetail.dto.FileReplyResponse;
import com.asset.dispoal.file.replyDetail.dto.FileReplyTypeData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tech.mhuang.pacebox.springboot.protocol.data.Page;

import java.math.BigDecimal;
import java.util.List;

@Mapper
public interface FileReplyDetailMapper {

    Integer deleteAll(String id);

    Integer save(FileReplyRequest request);

    Integer deleteUser(String id);

    Integer modify(FileReplyRequest request);

    Integer pageCount(FileReplyQueryRequest request);

    List<FileReplyResponse> page(Page<FileReplyQueryRequest> request);

    BigDecimal getDaySumAmount();

    BigDecimal getWeekSumAmount();

    List<FileReplyTypeData> queryMonthBatchList();

    List<FileReplyTypeData> queryChannelList();

    BigDecimal getMonthSumAmount();

    BigDecimal getYearAmount(Integer year);

    List<FileReplyTypeData> queryChannelNameByYear(Integer year);

    List<FileReplyTypeData> queryBatchNameByYear(Integer year);

    List<ReplyMonthStatistics> queryMonthStatisticsByYear(Integer year);

    List<ReplyMonthStatistics> queryChannelStatisticsByYear(Integer year);

    List<ReplyDetailExportTemplateId> queryExportBySearch(FileReplyExportRequest request);

    Integer saveUser(@Param("id") String id, @Param("replyId") String replyId, @Param("name") String name, @Param("idcard") String idcard);

    BigDecimal pageSum(Page<FileReplyQueryRequest> pageRequest);
}
